package com.sgst.job.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;
import java.util.stream.Stream;

/**
 * @author pywang
 * @Description 仪器状态变更日志 type
 * @date 2020-06-29 17:00
 **/
@Getter
public enum InstrStatusLogType {
    BACK("退回修改", 20),
    NOT_REWARD("不享受奖励政策", 21),
    REWARD("可享受奖励政策", 22),
    UPDATE_APPROVE_SUCCESS("信息修改审核通过", 23),
    UPDATE_APPROVE_FAILED("信息修改审核不通过", 24),
    /**
     * 子单位提交
     */
    STATE_0(0, "子单位提交"),
    /**
     * 子单位信息修改提交_需审核
     */
    STATE_1(1, "子单位信息修改提交_需审核"),
    /**
     * 子单位信息修改提交_无需审核
     */
    STATE_2(2, "子单位信息修改提交_无需审核"),
    /**
     * 法人单位退回
     */
    STATE_3(3, "法人单位退回"),
    /**
     * 法人单位提交_需审核
     */
    STATE_4(4, "法人单位提交_需审核"),
    /**
     * 法人单位提交_无需审核
     */
    STATE_5(5, "法人单位提交_无需审核"),
    /**
     * 法人单位信息修改提交_需审核
     */
    STATE_6(6, "法人单位信息修改提交_需审核"),
    /**
     * 法人单位信息修改提交_无需审核
     */
    STATE_7(7, "法人单位信息修改提交_无需审核"),
    /**
     * 单位报废
     */
    STATE_8(8, "单位报废");
    ;
    private String text;
    private Integer type;
    InstrStatusLogType(String text, Integer type){
        this.text = text;
        this.type = type;
    }
    InstrStatusLogType(Integer type, String text){
        this.text = text;
        this.type = type;
    }
    public static InstrStatusLogType getByText(String text) {
        return Stream.of(InstrStatusLogType.values())
                .filter(t-> Objects.equals(text, t.getText()))
                .findFirst()
                .orElse(null)
                ;
    }
}
